#ifndef __LOG_SERVICE_H_FILE__
#define __LOG_SERVICE_H_FILE__

#include "OSHeaders.h"
#include <memory.h>

#define LogVersion	0x100
#pragma pack(1)
struct _LogToServerData
{
	UInt16			Version;	
	//PeerInfo
	UInt64			PeerID;
	UInt16			PeerType;		//peer type UInt16
	
	//channel
	UInt64			ChanID;
	UInt16			ChanType;		//UInt16
	
	//about network
	UInt16			NatType;
	UInt32			CommIP;
	UInt16			CommPort;
	UInt32			LandMark;
	
	//friends
	UInt16			NearFriends;
	UInt16			FarFriends;
	UInt16			BCs;
	UInt16			Neighbors;
	UInt16			Blacks;
	
	UInt16			SchToPeerSum;
	UInt16			SchToPeerSucc;
	
	//bandwidth
	UInt32			Avg_UPBW;
	UInt32			Avg_DOWNBW;
	
	//req statistic
	UInt32			ReqSuccSum;
	UInt32			ReqRejectSum;
	UInt32			ReqNoDataSum;
	UInt32			ReqNoResponseSum;
	UInt32			ReqNoPrgmSum;
	UInt32			ReqNoSRSum;
	UInt32			ReqNatErrSum;
	
	//BM		
	UInt64			StartPoint;
	UInt64			PlayPoint;
	UInt32			SliceSize;
	UInt16			BufferMapLen;
	
	//UInt8			*pBufferMaps;
	//UInt64		*pNearFriendIDs;
	//UInt64		*pFarFriendIDs;
	//UInt64		*pBCIDs;
	//UInt64		*pBlackIDs;
	
	_LogToServerData()
	{
		memset(this,0,sizeof(_LogToServerData));
	}
	
};
#pragma pack()


#endif

